; Music of Motos (1987) (Mastertronic) (Jason C. Brooke)
; Ripped by Megachur the 29/10/2006

	write "MOTOS.BIN"

music_date_rip	equ &1da6
music_adr	equ &7600
first_theme	equ 0
last_theme	equ 5

	read "music_header_v1_0.asm"

;7600
.l7600
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00
.l7645
	db #00,#00
.l7647
	db #00
;
.play_music	;7648
;
	sub a
.l764a equ $ + 1
.music_end equ $ + 1
	cp #00
	jr z,l7687
	ld b,a
	ld hl,l7746
	dec (hl)
	jr nz,l7663
.l7655 equ $ + 1
	ld (hl),#01
	ld ix,l7600
	call l77d3
	call l77d1
	call l77d1
.l7664 equ $ + 1
.l7663
	ld a,#00
	ld (l799c),a
	ld ix,l7600
	ld bc,l799e
	call l7855
	ld (l7996),hl
	ld bc,l799f
	call l7853
	ld (l7998),hl
	ld bc,l79a0
	call l7853
	ld (l799a),hl
.l7687
	sub a
.l7689 equ $ + 1
	cp #00
	jr z,l76ed
	ld hl,l7743
	dec (hl)
	jr nz,l769a
	ld (l79a0),a
	ld (l7689),a
	jr l76ed
.l769a
	ld de,(l7741)
	ld a,(l773a)
	or a
	jr z,l76ba
	ld hl,l7745
	dec (hl)
	jr nz,l76ba
	ld (hl),a
	ld hl,l773b
	rrc (hl)
	ld hl,(l773c)
	jr c,l76b8
	ld hl,(l773e)
.l76b8
	add hl,de
	ex de,hl
.l76ba
	ld hl,(l7735)
	add hl,de
	ld a,(l7739)
	or a
	jr z,l76d1
	ex de,hl
.l76c7 equ $ + 2
	ld hl,l7744
	dec (hl)
	jr nz,l76d0
	ld (hl),a
	ld de,(l7737)
.l76d0
	ex de,hl
.l76d1
	ld (l7741),hl
	ld a,#10
	ld (l79a0),a
	ld (l799a),hl
	ld a,l
	ld hl,l7740
	rrc (hl)
	ld hl,l7647
	res 0,(hl)
	jr nc,l76ed
	inc (hl)
	ld (l799c),a
.l76ed
	ld hl,l7645
	ld a,(hl)
	inc hl
	rra
	sbc a
	and #09
	ld c,a
	ld a,(hl)
	inc hl
	rra
	sbc a
	and #12
	or c
	ld c,a
	ld a,(hl)
	rra
	sbc a
	and #24
	or c
	xor #38
	ld (l799d),a
	sub a
.l770c equ $ + 1
	cp #00
	ld hl,l79a2
	ld c,a
	ld de,#0cf6
	jr z,l771b
	inc d
	inc l
	ld (l770c),a
.l771b
	ld a,#c0
.l771d
	ld b,#f4
	out (c),d
	ld b,e
	out (c),a
	rlca
	out (c),c
	dec b
	outd
	ld b,e
	out (c),a
	rrca
	out (c),c
	dec d
	jp p,l771d
	ret
.l773c equ $ + 7
.l773b equ $ + 6
.l773a equ $ + 5
.l7739 equ $ + 4
.l7737 equ $ + 2
.l7735
	db #00,#00,#00,#00,#00,#00,#00,#00
.l7744 equ $ + 7
.l7743 equ $ + 6
.l7741 equ $ + 4
.l7740 equ $ + 3
.l773e equ $ + 1
	db #00,#00,#00,#00,#00,#00,#00,#00
.l7746 equ $ + 1
.l7745
	db #00,#00,#dd,#79,#3d,#6d,#70,#17
	db #4f,#78,#02,#2f

	ld hl,l7687
	ex (sp),hl

;	db #21,#87,#76,#e3
;
.stop_music
;
	sub a
	ld (l764a),a
	ld (l799e),a
	ld (l799f),a
	ld (l79a0),a
	ret
	ld c,(ix+#0f)
	ld l,(ix+#09)
	ld h,(ix+#0c)
	add hl,bc
	ld a,(hl)
	inc l
	or (hl)
	jr nz,l7775
	sbc hl,bc
	ld c,b
.l7775
	ld d,(hl)
	dec l
	ld e,(hl)
	inc c
	inc c
	ld (ix+#0f),c
	jr l77e6
	ld a,(de)
	inc de
	ld (ix+#42),a
	jr l77e6
	ld a,(de)
	inc de
	ld (ix+#12),b
	ld (ix+#15),b
	ld (ix+#1e),a
	set 2,(ix+#00)
	ld a,(de)
	inc de
	ld (ix+#21),a
	jr l77e6
	ld a,(de)
	inc de
	ld (ix+#3c),a
	ld a,(de)
	inc de
	add a
	ld (ix+#39),a
	ld c,#40
	jr nc,l77ad
	ld c,#50
.l77ad
	srl a
	ld (ix+#3f),a
	ld (ix+#00),c
	jr l77e6
	set 7,(ix+#00)
	set 3,(ix+#00)
	jr l77e6
	ld (ix+#00),b
	jr l77e6
	ld a,(de)
	inc de
	ld (l7910),a
	set 1,(ix+#00)
	jr l77e6
.l77d1
	inc ix
.l77d3
	dec (ix+#24)
	ld a,(ix+#00)
	jr nz,l7816
	and #70
	ld (ix+#00),a
	ld e,(ix+#03)
	ld d,(ix+#06)
.l77e6
	ld a,(de)
	inc de
	cp #b0
	jr c,l780a
	add #20
	jr c,l77ff
	add #20
	jr c,l7805
	ld c,a
	ld hl,l79c4
	add hl,bc
	ld c,(hl)
	ld (ix+#18),c
	jr l77e6
.l77ff
	inc a
	ld (ix+#27),a
	jr l77e6
.l7805
	ld (ix+#36),a
	jr l77e6
.l780a
	or a
	jp p,l782a
	ld c,a
	ld hl,l76c7
	add hl,bc
	ld c,(hl)
	add hl,bc
	jp (hl)
.l7816
	bit 3,a
	ret z
	add a
	sbc a
	or #01
	add (ix+#2a)
	ld (ix+#2a),a
	ret
	ld (ix+#33),#f0
	jr l7846
.l782a
	ld (ix+#2a),a
	ld (ix+#33),b
	ld (ix+#30),b
	ld c,(ix+#18)
	ld (ix+#1b),c
	ld c,b
	sub #54
	jr c,l7843
	ld c,#02
	ld (l7664),a
.l7843
	ld (ix+#45),c
.l7846
	ld a,(ix+#27)
	ld (ix+#24),a
	ld (ix+#06),d
	ld (ix+#03),e
	ret
.l7853
	inc ix
.l7855
	ld d,#00
	ld a,(ix+#33)
	cp #f0
	jr nc,l7879
	sub #10
	ld (ix+#33),a
	jr nc,l7879
	ld hl,l7acd
	ld e,(ix+#36)
	add hl,de
	ld a,(hl)
	add (ix+#30)
	ld e,a
	add hl,de
	ld a,(hl)
	inc (ix+#30)
	ld (ix+#33),a
.l7879
	and #0f
	ld (bc),a
	ld hl,l7ab9
	ld e,(ix+#1b)
	inc e
	add hl,de
	ld a,(hl)
	or a
	jp p,l788e
	ld e,(ix+#18)
	and #7f
.l788e
	ld (ix+#1b),e
	add (ix+#2a)
	add (ix+#42)
	add a
	ld hl,l79a4
	ld e,a
	add hl,de
	ld e,(hl)
	inc l
	ld d,(hl)
	ld c,(ix+#00)
	bit 6,c
	jr z,l78d5
	ld b,(ix+#39)
	ld a,c
	cpl
	and #11
	ld a,(ix+#3f)
	jr z,l78cd
	bit 5,c
	jr nz,l78c1
	sub (ix+#3c)
	jr nc,l78ca
	set 5,c
	sub a
	jr l78ca
.l78c1
	add (ix+#3c)
	cp b
	jr c,l78ca
	res 5,c
	ld a,b
.l78ca
	ld (ix+#3f),a
.l78cd
	srl b
	sub b
	ld l,a
	sbc a
	ld h,a
	add hl,de
	ex de,hl
.l78d5
	ld a,c
	xor #01
	ld (ix+#00),a
	bit 2,c
	jr z,l7900
	ld b,(ix+#21)
	djnz l78fd
	ld c,(ix+#1e)
	bit 7,c
	jr z,l78ec
	dec b
.l78ec
	ld l,(ix+#12)
	ld h,(ix+#15)
	add hl,bc
	ld (ix+#12),l
	ld (ix+#15),h
	add hl,de
	ex de,hl
	jr l7900
.l78fd
	ld (ix+#21),b
.l7900
	cpl
	and #03
	ld a,(ix+#45)
	ld c,a
	res 0,c
	rra
	jr nz,l7913
	ld hl,l799c
.l7910 equ $ + 1
	ld (hl),#10
	or #01
.l7913
	or c
	ld (ix+#45),a
	ex de,hl
	ret
;
; init sound effects
;
	add a
	ld c,a
	add a
	add a
	ld b,#00
	ld hl,l7dfb
	add hl,bc
	ld c,a
	add hl,bc
	add hl,bc
	ld de,l7735
	ld c,#0f
	sub a
	ld (l7689),a
	ldir
	ld c,#03
	ld de,l79a1
	ldir
	ld hl,(l7739)
	ld (l7744),hl
	ld a,#01
	ld (l7689),a
	ld (l770c),a
	ret
;
.init_music	;&7947	a = 0,1, 2 (main theme),3,4,5
;
	ld c,a
	ld b,#00
	add a
	add c
	add a
	add c
	ld c,a
	ld hl,l7b12
	add hl,bc
	ld a,(hl)
	inc hl
	ld (l7655),a
	ld ix,l7600
	sub a
	ld (l764a),a
	inc a
	ld (l7746),a
	ld a,#02
.l7966
	ld e,(hl)
	inc hl
	ld d,(hl)
	inc hl
	push hl
	ld (ix+#24),#01
	ld (ix+#00),b
	ld (ix+#42),b
	ld (ix+#09),e
	ld (ix+#0c),d
	ex de,hl
	ld e,(hl)
	inc hl
	ld d,(hl)
	ld (ix+#0f),#02
	pop hl
	ld (ix+#03),e
	ld (ix+#06),d
	inc ix
	dec a
	jp p,l7966
	ld (l764a),a
	ret
.l799a equ $ + 6
.l7998 equ $ + 4
.l7996 equ $ + 2
	db #00,#00,#00,#00,#00,#00,#00,#00
.l79a2 equ $ + 6
.l79a1 equ $ + 5
.l79a0 equ $ + 4
.l799f equ $ + 3
.l799e equ $ + 2
.l799d equ $ + 1
.l799c
	db #00,#3f,#00,#00,#00,#00,#00,#00
.l79a4
	dw #077c,#0708,#06b0,#0640
	dw #05ec,#0594,#0544,#04f8
	dw #04b0,#0470,#042c,#03f0
	dw #03be,#0384,#0358,#0320
.l79c4
	dw #02f6,#02ca,#02a2,#027c
	dw #0258,#0238,#0216,#01f8
	dw #01df,#01c2,#01ac,#0190
	dw #017b,#0165,#0151,#013e
	dw #012c,#011c,#010b,#00fc
	dw #00ef,#00e1,#00d6,#00c8
	dw #00bd,#00b2,#00a8,#009f
	dw #0096,#008e,#0085,#007e
	dw #0077,#0070,#006b,#0064
	dw #005e,#0059,#0054,#004f
	dw #004b,#0047,#0042,#003f
	dw #003b,#0038,#0035,#0032
	dw #002f,#002c,#002a,#0027
	dw #0025,#0023,#0021,#001f
	dw #001d,#001c,#001a,#0019
	dw #0017,#0016,#0015,#0013
	dw #0012,#0011,#0010,#000f
.l7a4c
	dw l7b7b,l7b82,l7b82,l7b82
.l7a58 equ $ + 4
	dw l7b82,#0000,l7b38,l7b42
.l7a62 equ $ + 6
	dw l7b42,l7b42,#0000,l7b75
	dw l7b82,l7b82,l7b82,l7b82
.l7a72 equ $ + 6
.l7a70 equ $ + 4
.l7a6e equ $ + 2
	dw #0000,l7c3c,l7bf4,l7c18
.l7a74
	dw l7c61,l7c61,l7c61,l7caa
.l7a7e equ $ + 2
	dw #0000,l7c7e,l7c7e,l7c7e
.l7a88 equ $ + 4
	dw l7cee,#0000,l7c8d,l7c8d
.l7a92 equ $ + 6
	dw l7c8d,l7c9d,#0000,l7d31
.l7a98 equ $ + 4
.l7a96 equ $ + 2
.l7a94
	dw l7d33,l7b35,l7d48,l7d48
	dw l7d48,l7d48,l7d55,#0000
.l7aa4
	dw l7d70,l7d70,l7d99,#0000
.l7aac
	dw l7ddf,l7ddf,l7dea,#0000
	db #00,#01,#05,#09,#0d
.l7ab9
	db #11,#80,#00,#04,#0c,#87,#00,#07
	db #13,#84,#0b,#13,#0e,#93,#00,#04
	db #0c,#89,#00,#8c
.l7acd
	db #0c,#0e,#0e,#18,#1c,#1c,#20
	db #23,#28,#28,#2f,#33,#29,#28,#f6
	db #18,#2c,#1b,#19,#17,#18,#17,#16
	db #17,#16,#14,#f2,#1e,#2d,#3c,#4b
	db #5a,#f9,#0e,#0c,#0a,#08,#f0,#6d
	db #6c,#6b,#fa,#1d,#0c,#0b,#0a,#09
	db #f0,#0e,#1d,#1a,#18,#17,#16,#15
	db #24,#f3,#3b,#3a,#38,#36,#f5,#2c
	db #1b,#19,#17,#18,#17,#f6
.l7b12
	db #02
	dw l7a6e,l7a70,l7a72
	db #02
	dw l7a74,l7a7e,l7a88
	db #03
	dw l7a4c,l7a58,l7a62
	db #02
	dw l7a92,l7a94,l7a96
	db #03
	dw l7a98,l7aa4,l7aac
.l7b38 equ $ + 3
.l7b35
	db #ff,#80,#80,#c3,#b0,#86,#01,#02
.l7b42 equ $ + 5
	db #e5,#21,#28,#27,#23,#fd,#25,#e5
	db #27,#f7,#25,#e2,#28,#25,#e5,#82
	db #28,#07,#27,#fd,#19,#e5,#1b,#eb
	db #25,#e5,#21,#28,#27,#23,#ff,#82
	db #26,#64,#24,#e3,#80,#fa,#18,#e2
	db #13,#e5,#13,#fa,#24,#e2,#13,#e5
	db #13,#f1,#24,#e5,#29,#28,#24,#85
.l7b7b equ $ + 6
.l7b75
	db #f7,#80,#c1,#89,#f4,#85,#f7,#80
.l7b82 equ $ + 5
	db #c2,#86,#01,#02,#85,#e5,#b1,#2d
	db #e1,#2d,#2d,#2d,#e5,#2d,#2d,#e2
	db #2d,#2d,#e5,#2f,#2d,#e1,#2d,#2d
	db #2d,#e5,#2d,#2d,#e2,#2d,#2d,#e5
	db #2f,#2d,#e1,#2d,#2d,#2d,#e5,#2d
	db #2d,#e2,#2d,#2d,#e5,#2f,#2d,#e1
	db #2d,#2d,#2d,#e5,#2d,#2d,#e2,#2d
	db #2d,#e5,#2f,#30,#e1,#30,#30,#30
	db #e5,#30,#30,#e2,#30,#30,#b2,#e5
	db #2b,#b1,#30,#e1,#30,#30,#30,#e5
	db #30,#30,#e2,#30,#30,#b2,#e5,#2b
	db #b1,#30,#e1,#30,#30,#30,#e5,#30
	db #30,#e2,#30,#30,#b2,#e5,#2b,#b1
	db #30,#e1,#30,#30,#30,#e5,#30,#30
.l7bf4 equ $ + 7
	db #e2,#30,#30,#b2,#e5,#2b,#85,#c7
	db #b0,#86,#01,#01,#e3,#2e,#e1,#2e
	db #e5,#2e,#2e,#e1,#30,#30,#30,#e5
	db #30,#30,#e1,#2e,#2e,#2e,#2e,#2e
	db #2e,#c6,#ff,#86,#ff,#01,#82,#04
.l7c18 equ $ + 3
	db #18,#3c,#88,#c7,#b1,#86,#01,#01
	db #e3,#22,#e1,#22,#e5,#22,#22,#e1
	db #20,#20,#20,#e5,#20,#20,#e1,#22
	db #22,#22,#22,#22,#22,#c6,#ff,#86
.l7c3c equ $ + 7
	db #01,#01,#82,#03,#1c,#40,#85,#c2
	db #b0,#86,#01,#01,#e3,#22,#e1,#22
	db #e5,#22,#22,#e1,#20,#20,#20,#e5
	db #20,#20,#e1,#22,#22,#22,#22,#22
	db #22,#e3,#c7,#10,#10,#10,#10,#10
.l7c61 equ $ + 4
	db #10,#10,#10,#85,#e3,#c7,#b0,#86
	db #03,#02,#1c,#1c,#1c,#1c,#1c,#1c
	db #1c,#1c,#10,#10,#10,#10,#e5,#1f
	db #e2,#1e,#e1,#21,#1f,#1e,#e2,#1c
.l7c7e equ $ + 1
	db #85,#c2,#b0,#eb,#86,#01,#01,#28
	db #2d,#2c,#28,#e5,#30,#34,#30,#85
.l7c8d
	db #c1,#b1,#eb,#21,#21,#b3,#15,#b1
	db #21,#e5,#24,#b4,#24,#b1,#24,#85
.l7c9d
	db #ff,#c4,#86,#01,#81,#21,#21,#28
.l7caa equ $ + 5
	db #82,#02,#20,#28,#85,#c5,#b0,#e1
	db #15,#15,#15,#15,#15,#15,#15,#15
	db #15,#15,#15,#15,#15,#15,#15,#15
	db #15,#15,#15,#15,#15,#15,#15,#15
	db #15,#15,#15,#15,#15,#15,#15,#15
	db #1c,#1c,#1c,#1c,#1c,#1c,#1c,#1c
	db #1c,#1c,#1c,#1c,#1c,#1c,#1c,#1c
	db #1c,#1c,#1c,#1c,#1c,#1c,#1c,#1c
	db #1c,#1c,#1c,#1c,#1c,#1c,#1c,#1c
.l7cee equ $ + 1
	db #85,#c7,#e1,#21,#2d,#39,#37,#35
	db #34,#32,#31,#2f,#2d,#2c,#2a,#28
	db #2d,#28,#2f,#21,#2d,#39,#37,#35
	db #34,#32,#31,#2f,#2d,#2c,#2a,#28
	db #2d,#28,#2f,#21,#2d,#37,#35,#34
	db #32,#31,#2f,#2d,#2c,#2a,#28,#2f
	db #28,#2f,#2d,#21,#2d,#37,#35,#34
	db #32,#31,#2f,#2d,#2c,#2a,#28,#2f
.l7d33 equ $ + 6
.l7d31 equ $ + 4
	db #28,#2f,#2d,#85,#89,#f4,#e2,#c7
	db #86,#01,#01,#b0,#21,#21,#2d,#2d
	db #1f,#1f,#2b,#2b,#c2,#e5,#26,#28
.l7d48 equ $ + 3
	db #21,#80,#88,#c8,#b5,#e5,#18,#0c
	db #18,#18,#18,#eb,#0c,#e5,#18,#85
.l7d55
	db #e8,#14,#e2,#14,#e8,#19,#e2,#19
	db #e8,#12,#e2,#12,#e8,#16,#e2,#16
	db #e5,#11,#11,#11,#11,#e5,#11,#11
.l7d70 equ $ + 3
	db #eb,#16,#85,#cb,#b5,#e8,#30,#e2
	db #37,#e5,#37,#30,#e2,#2e,#2b,#e8
	db #2e,#c0,#82,#03,#06,#3a,#cb,#e8
	db #30,#e2,#37,#e5,#37,#30,#ca,#e1
	db #37,#3a,#37,#e5,#34,#e2,#80,#c2
.l7d99 equ $ + 4
	db #35,#34,#32,#85,#cb,#e0,#31,#2c
	db #31,#35,#31,#35,#38,#31,#38,#3b
	db #35,#3b,#3d,#38,#3d,#3b,#35,#3b
	db #38,#31,#38,#35,#31,#35,#2e,#27
	db #2e,#31,#2e,#31,#33,#2e,#33,#36
	db #33,#36,#3a,#36,#3a,#36,#33,#36
	db #33,#2e,#33,#31,#2e,#31,#e1,#22
	db #26,#29,#2e,#26,#29,#2e,#26,#2e
	db #e9,#32,#e1,#35,#33,#32,#30,#eb
.l7ddf equ $ + 2
	db #32,#85,#b0,#c0,#86,#01,#01,#f7
.l7dea equ $ + 5
	db #24,#22,#24,#22,#85,#eb,#2c,#29
	db #2a,#27,#c2,#e5,#29,#29,#29,#29
	db #29,#29,#eb,#cb,#29,#85
.l7dfb
	db #0a,#00,#c8,#00,#04,#01,#55,#f1
	db #7f,#0f,#00,#00,#c8,#00,#0e,#c4
	db #09,#09,#17,#00,#00,#00,#00,#01
	db #45,#1d,#00,#e2,#7f,#00,#a5,#00
	db #28,#94,#11,#09,#0a,#00,#c3,#00
	db #00,#01,#55,#32,#00,#c9,#7f,#00
	db #c3,#00,#1e,#94,#11,#09,#00,#00
	db #78,#00,#00,#01,#55,#04,#00,#fc
	db #7f,#00,#78,#00,#00,#c4,#09,#0d
	db #06,#00,#55,#00,#00,#01,#55,#19
	db #00,#e7,#7f,#00,#55,#00,#50,#70
	db #17,#09,#fa,#7f,#c2,#01,#00,#04
	db #f0,#7b,#00,#dc,#7f,#00,#c2,#01
	db #20,#fc,#3f,#09,#fb,#7f,#f4,#01
	db #00,#02,#a5,#ce,#7f,#32,#00,#00
	db #f4,#01,#64,#8c,#3c,#09,#0f,#00
	db #96,#00,#04,#01,#55,#dd,#7f,#23
	db #00,#00,#96,#00,#10,#b8,#0b,#09
	db #0a,#00,#f4,#01,#04,#01,#55,#dd
	db #7f,#23,#00,#00,#08,#02,#10,#a0
	db #0f,#09,#05,#00,#90,#01,#05,#01
	db #35,#d3,#7f,#14,#00,#00,#86,#01
	db #24,#88,#13,#09,#00

;org #0521
;ld a,#02
;call #7947

;org #052c
;call #7755

.game_name
	db "Motos",0
.game_year
	db "1987",0
.game_publisher
	db "Mastertronic",0
.music_author
	db "Jason C. Brooke",0
.music_comment
	db "",0
	
	read "music_end_v1_0.asm"
